1. Technical Field
The present invention relates in general to data processing and, in particular, to the file systems implemented by various data processing systems. Still more particularly, the present invention relates to a network file system protocol and a network file system driver through which a client data processing system access a resource of a remote file system.
2. Description of the Related Art
An enterprise computing environment, for example, the network of a large corporation, typically contains a number of heterogeneous computer systems, operating systems, file systems, protocols and network architectures that cooperate to allow enterprise hardware and software resources to be shared by multiple computer systems. This type of computing environment is also referred to (for obvious reasons) as a heterogeneous distributed computing environment (HDCE).
In current HDCEs, each data storage device implements a particular file system, meaning that for different types of storage devices and for storage devices managed by diverse file server platforms, many different (and possibly incompatible) file systems are present in the HDCE. Accordingly, for a client system in the HDCE to obtain access to a particular resource (e.g., file), the client must format a request for the desired resource in an appropriate format for the file server managing the desired resource. Generally speaking, the client system formats access requests through one of a number of file system drivers, which each correspond to a respective file system. Thus, if an HDCE includes three file servers that each implement a respective one of the NetWare Core Protocol (NCP) of Novell, Inc., Orem, Utah, the Common Internet File System (CIFS) developed by Microsoft Corporation of Redmond, Wash., and the UNIX-based Network File System (NFS) developed by Sun Microsystems, the client system must have a separate file system driver for each file system, as well as a kernel file system router that determines which file system driver to utilize for each resource request. These different file system drivers are necessary because each file system protocol generally has different commands utilized to open, read, write, and close files, perform directory searches, obtain locks on shared files, etc.
Given the explosive growth of the Internet and its powerful resource sharing capabilities, it is now typical for many file servers, which are coupled to both the Internet and to a local network, to run both HyperText Transfer Protocol (HTTP) server software to service requests received from the Internet, and NFS, CIFS, or NCP server software to service requests received from a local network. The present invention recognizes that the implementation of two distinct resource access pathsxe2x80x94one for local network resources and one for Internet resourcesxe2x80x94and the concomitant use of separate server software on the file server is a source of performance and administrative inefficiency.
The present invention overcomes the foregoing and other shortcomings in the art by providing a client with an improved network file system driver for accessing a remote resource maintained by a server in communication with the client via a data network.
In accordance with the present invention, an operating system receives, from a client application, a file system access request. In addition to identifying a remote resource, the file system access request specifies a file system operation on the resource in a format different than a HyperText Transfer Protocol (HTTP)-compatible format utilized by the server. In response to receipt of the file system access request by the operating system, the operating system routes the file system access request to a file system driver. The file system driver then translates the file system access request into the HTTP-compatible format employed by the server and constructs one or more request frames specifying the file system access request in the HTTP-compatible format. The request frames are then output by the client system on the data network to access the resource.
All objects, features, and advantages of the present invention will become apparent in the following detailed written description.